/*
 * src/pl/plpython/plpy_planobject.h
 */

#ifndef PLPY_PLANOBJECT_H
#define PLPY_PLANOBJECT_H

#include "executor/spi.h"
#include "plpy_typeio.h"


typedef struct PLyPlanObject
{
    PyObject_HEAD
    SPIPlanPtr    plan;
    int            nargs;
    Oid           *types;
    Datum       *values;
    PLyTypeInfo *args;
    MemoryContext mcxt;
} PLyPlanObject;

extern void PLy_plan_init_type(void);
extern PyObject *PLy_plan_new(void);
extern bool is_PLyPlanObject(PyObject *ob);

#endif                            /* PLPY_PLANOBJECT_H */
